﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp._20230302
{
    /// <summary>
    /// 模拟负载均衡器
    /// </summary>
    internal class LoadBalancer
    {
        //私有静态成员变量，存储唯一实例
        private static LoadBalancer? instance = null;
        //服务器集合
        private static readonly ArrayList? serverList = null;

        //静态构造函数
        static LoadBalancer()
        {
            serverList = new ArrayList();
        }

        //增加服务器
        public void AddServer(string server)
        {
            serverList?.Add(server);
        }

        //删除服务器
        public void RemoveServer(string server)
        {
            serverList?.Remove(server);
        }

        //使用Random类随机获取服务器
        public string GetServer()
        {
            int i = Random.Shared.Next(serverList.Count); //随机选一台服务器
            return serverList[i].ToString();
        }
    }
}
